// samsting : this file is auto create.

#ifndef ALIYUN_Bss_DescribeCouponListResponse_H_
#define ALIYUN_Bss_DescribeCouponListResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Bss {

class DescribeCouponListResponse : public AcsResponse {
public:
  DescribeCouponListResponse();

  class Coupon {
    friend class DescribeCouponListResponse;
  public:
    const std::vector<ProductCode>& GetProductCodes(void) const;
    const std::vector<TradeType>& GetTradeTypes(void) const;
    int64 GetCouponTemplateId(void) const;
    const string& GetTotalAmount(void) const;
    const string& GetBalanceAmount(void) const;
    const string& GetFrozenAmount(void) const;
    const string& GetExpiredAmount(void) const;
    const string& GetDeliveryTime(void) const;
    const string& GetExpiredTime(void) const;
    const string& GetCouponNumber(void) const;
    const string& GetStatus(void) const;
    const string& GetDescription(void) const;
    const string& GetCreationTime(void) const;
    const string& GetModificationTime(void) const;
    const string& GetPriceLimit(void) const;
    const string& GetApplication(void) const;
  private:
    std::vector<ProductCode> ProductCodes_;
    std::vector<TradeType> TradeTypes_;
    int64  CouponTemplateId_;
    string TotalAmount_;
    string BalanceAmount_;
    string FrozenAmount_;
    string ExpiredAmount_;
    string DeliveryTime_;
    string ExpiredTime_;
    string CouponNumber_;
    string Status_;
    string Description_;
    string CreationTime_;
    string ModificationTime_;
    string PriceLimit_;
    string Application_;
  }; // Coupon 

  const std::vector<Coupon>& GetCoupons(void) const;

private:
  std::vector<Coupon> Coupons_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Bss {

#endif // #ifndef ALIYUN_Bss_DescribeCouponListResponse_H_

// end of file 
